package java_thinking.unit_17._17_7_8;

import java.util.PriorityQueue;
import java.util.Random;

/**
 * @Desc:   创建一个类，它包含 一个Integer，其值通过使用Random被初始化为0到100之间的某个值
 * 使用这个Integer域来实现Comparable。用这个类的对象类填充PriorityQueue.然后使用pol()抽取
 * 这些值展示该队列按照我们预期的顺序产生这些值
 * @author: cww
 * @DateTime: 2019/4/17 19:45
 */
class Item implements Comparable<Item> {
    private static final Random RANDOM = new Random(47);
    private Integer priority = RANDOM.nextInt(101);
    @Override
    public int compareTo(Item o) {
        return priority < o.priority ? -1 : priority == o.priority ? 0 : 1;
    }

    @Override
    public String toString() {
        return Integer.toString(priority);
    }
}
public class E11_PriorityQueue {
    public static void main(String[] args) {
        PriorityQueue<Item> queue = new PriorityQueue<>();
        for (int i = 0; i < 10; i++) {
            queue.add(new Item());
        }
        Item item;
        while ((item = queue.poll()) != null) {
            System.out.println(item.toString());
        }
    }
}
